Robotic devices

ABSTRACT

By moving supports A and C along respective tracks ( 3 ) and ( 4 ), the free end B of robot arm ( 2 ), with gripper ( 5 ), is caused to move along a path P, the locus of which may be varied by varying the movements of the supports A and C. Motors ( 6 ) and ( 7 ) are not carried on the robot arm ( 2 ), but are secured to the frame ( 10 ) of the device ( 1 ). The robot arm ( 2 ) may thus have very low mass, resulting in very high performance in terms of speed and efficiency. The path P may comprise a NURB curve, and the time-distance function of motion of end B of arm ( 2 ) along path P may comprise a polynomial function having first and second derivative (velocity and acceleration) continuous curves.

[0001] Preferred embodiments of the invention aim to provide roboticdevices which are simple and cheap to make, but may nevertheless operateat high speed and efficiency.

[0002] According to one aspect of the present invention, there isprovided a robotic device comprising:

[0003] a. a first track extending between first and second end points;

[0004] b. a second track, non-parallel to the first track, extendingbetween third and fourth end points;

[0005] c. a first support mounted for movement along said first trackbetween said first and second end points;

[0006] d. a second support mounted for movement along said second trackbetween said third and fourth end points;

[0007] e. drive means for driving said first and second supports alongtheir respective tracks between their respective end points; and

[0008] f. a robot arm pivotally mounted on said first support at a firstlocation on said arm, and pivotally mounted on said second support at asecond location on said arm, spaced from said first location, such thatsaid arm can slide with respect to one of said first and secondsupports, and movement of said supports along said tracks causesmovement of said robot arm.

[0009] Preferably, said tracks lie in a common plane, and said arm isarranged to move in said common plane or a plane parallel to said commonplane.

[0010] Preferably, at least one of said tracks is rectilinear.

[0011] Preferably, both of said tracks are rectilinear.

[0012] Preferably, said tracks are mutually orthogonal.

[0013] Preferably, said drive means comprises a first drive means fordriving said first support and a second drive means, separate from thefirst drive means, for driving said second support.

[0014] Preferably, the or each said drive means comprises a prime movermounted on a frame of the device and connected to the or each respectivesupport by a drive transmission means.

[0015] Preferably, the robot arm is rectilinear.

[0016] Preferably, said first location is at a first end of the robotarm and said second location is intermediate the ends of the robot arm.

[0017] Preferably, said arm can slide with respect to only the second ofsaid first and second supports.

[0018] Preferably, a robotic device as above further comprises grippingmeans at a third location on said robot arm.

[0019] Preferably, said third location is at a free end of the robotarm.

[0020] Preferably, a robotic device as above further comprises controlmeans for controlling said drive means.

[0021] Preferably, said control means is programmable, to control saiddrive means to cause said robot arm to follow a predetermined path.

[0022] Said control means may be programmed to control said drive meansto cause said robot arm to follow a predetermined path composed of aseries of straight lines.

[0023] Said control means may be programmed to control said drive meansto cause said robot arm to follow a predetermined path composed of aseries of straight lines and circular arcs.

[0024] Preferably, said control means is programmed to control saiddrive means to cause said robot arm to follow a predetermined pathcomprising a curve defined by a function of spatial co-ordinates that iscontinuous in both its first and second derivatives.

[0025] Preferably, said function is continuous in its third derivative.

[0026] Preferably, said curve comprises a NURB (non-uniform rationalB-spline) curve.

[0027] Preferably, said control means is arranged to control said drivemeans such that the time-distance function of motion along said pathcomprises a polynomial function having a first derivative (velocity)continuous curve.

[0028] Preferably, said control means is arranged to control said drivemeans such that the time-distance function of motion along said pathcomprises a polynomial function having a second derivative(acceleration) continuous curve.

[0029] Preferably, said control means is arranged to control said drivemeans such that the time-distance function of motion along said pathcomprises a polynomial function having a third derivative (jerk)continuous curve.

[0030] In another aspect, the invention provides a robotic devicecomprising a robot arm arranged to move along a predetermined pathcomprising a curve defined by a function of spatial co-ordinates that iscontinuous in both its first and second derivatives.

[0031] Preferably, said function is continuous in its third derivative.

[0032] Preferably, said curve comprises a NURB (non-uniform rationalB-spline) curve.

[0033] Preferably, said control means is arranged to control said drivemeans such that the time-distance function of motion along said pathcomprises a polynomial function having a first derivative (velocity)continuous curve.

[0034] Preferably, said control means is arranged to control said drivemeans such that the time-distance function of motion along said pathcomprises a polynomial function having a second derivative(acceleration) continuous curve.

[0035] Preferably, said control means is arranged to control said drivemeans such that the time-distance function of motion along said pathcomprises a polynomial function having a third derivative (jerk)continuous curve.

[0036] In another aspect, the invention provides a method ofconstructing a robotic device having a robot arm, the method comprisingthe steps of

[0037] calculating a path along which the robot arm is to travel, whichpath comprises a curve defined by a function of spatial co-ordinatesthat is continuous in both its first and second derivatives; and

[0038] constraining the robot arm to travel along said path.

[0039] Preferably, such a method includes the steps of displaying acurve on a screen, and modifying the shape of the curve to define saidpath.

[0040] Preferably, said modifying step is effected by dragging controlpoints that are spaced from said curve and the positions of which affectthe shape of said curve.

[0041] The method may include the steps of inputting co-ordinates ofpredetermined points on said path and interpolating said curve from saidpoints.

[0042] Preferably, such a method includes the step of also displaying onthe screen a plan of an area or volume in which said path is to belocated, and upon which plan said path is superimposed.

[0043] Preferably, in any of the above methods, said robotic device isin accordance with any of the preceding aspects of the invention.

[0044] For a better understanding of the invention, and to show howembodiments of the same may be carried into effect, reference will nowbe made, by way of example, to the accompanying diagrammatic drawing,the single FIGURE of which illustrates one example of a robotic deviceembodying the present invention.

[0045] The illustrated robotic device 1 comprises a robot arm 2 which ispivotally mounted on first and second supports A and C, which in turnare mounted for sliding movement along first and second tracks 3 and 4respectively.

[0046] The first track 3 is rectilinear and extends between end pointsY1 and Y2. The second track 4 is also rectilinear and extendsorthogonally to the first track 3, in the same plane, between respectiveend points X1 and X2. The robot arm 2 is pivotally mounted on the firstsupport A at a first end of the arm 2, and pivotally mounted on thesecond support C at a point between the ends of the arm 2. The mountingof the arm 2 on the second support C also affords mutual sliding betweenthe arm 2 and the support C. At its free end B, the robot arm 2 carriesa gripper 5, arranged to hold and release parts to be carried by therobotic device 1.

[0047] Each of the supports A and C is mounted for sliding movementalong its respective track 3 and 4, and is driven by a respective motor6 and 7, from which drive is transmitted by means of a respectivetoothed belt 8 and 9. The motors 6 and 7 are mounted on a frame 10 ofthe robotic device 1. A programmable controller 11 controls operation ofthe motors 6 and 7.

[0048] It will be appreciated that, by moving the supports A and C alongtheir respective tracks 3 and 4, the free end B of the robot arm 2, withthe gripper 5, is caused to move along a path P, the locus of which maybe varied by varying the movements of the supports A and C. In manyrobotic applications, it is desired simply to pick up an item from onepredetermined location and transfer it to another predeterminedlocation. The illustrated robotic device 1 is particularly suitable forsuch simple “pick and place” operations, especially when carried out asa two-dimensional operation, where the two tracks 3 and 4 liesubstantially in the same plane, together with the robot arm 2 (whichmay, from a practical point of view, be in a relatively closely spaced,parallel plane).

[0049] The controller 11 may be programmed very simply by way ofCartesian coordinates to cause the supports A and C to be movedsequentially along y and x axes respectively, such that the free end Bof the robot arm 2 moves in a series of substantially straight lines. Ifone of the supports A and C is accelerated from rest as the other of thesupports is being decelerated to rest, then the straight line portionsof the path P may be joined by curves, for smooth and efficientoperation. The path P may, in general, comprise any shaped curve orseries of curves (a curve here including a straight line.)

[0050] A significant feature of the illustrated robotic device 1 isthat, in contrast to many known robotic devices, the motors 6 and 7 arenot carried on the robot arm 2, but are secured to the frame 10 of thedevice 1. This means that the robot arm 2 may have very low mass,resulting in very high performance in terms of speed and efficiency. Forexample, in situations where previous robotic devices have been able tooperate at a maximum speed of around 25 cycles per minute, we have foundthat a robotic device such as that illustrated may operate at up to 100cycles per minutes, representing greatly increased speed and efficiency.

[0051] It will be appreciated that a robotic device as illustrated maybe constructed simply and economically.

[0052] Tracks such as 3 and 4 may alternatively be disposed at adifferent angle to one another, and need not be rectilinear. Forexample, one could be rectilinear and the other curved. The tracks androbot arm need not be in the same plane. However, such alternativeconfigurations may entail less simple programming of a controller suchas 11.

[0053] The motors 6 and 7 as illustrated may typically be rotary drivemotors. Alternatively, linear motors or any other prime movers withsuitable drive transmissions may be employed. A single prime mover maydrive both supports A and C by way of suitable drive transmissions.

[0054] In a preferred arrangement, the X,Y (or r,theta) path of motion Pcomprises a curve that is continuous in both its first and secondderivatives. If required, third (or higher) derivative continuouscontinuity can also be specified.

[0055] The path can be made up of more than one section or segment andcan be referred to as ‘piecewise continuous’ along its length. Thedegree of derivative continuity may be specified between each section orsegment.

[0056] Also, motion (time-distance) is preferably specified along thepath P as a first and/or second derivative (velocity and acceleration)continuous curve. If required, third derivative (jerk) (or higher)continuity can also be specified. Start, end and maximum values of allderivatives can also be specified. By specifying the motion along thepath P as a polynomial function with the above attributes, one canensure that the motion is very smooth and has zero acceleration as wellas zero velocity at both ends of the movement.

[0057] A particularly advantageous way of designing the desired path Pis by way of a NURB (non-uniform rational B-spline) curve. A NURB curvehas the desirable properties of continuity in both its first and secondderivatives, and can easily be manipulated without involving a deepknowledge or use of mathematics.

[0058] It may provide an efficient and flexible technique that ensuresthe desired level of derivative continuity while allowing the curve tobe shaped geometrically.

[0059] Splines have been used for many years—shipbuilders, for example,would use a long flexible strip of material (e.g. wood)—a spline—thatcould be pulled into a desired shape by the application of weights atchosen points. Due to the flexible properties of the material, smoothcurves would naturally result.

[0060] An analogous method of control may be provided graphically bydisplaying a line, or spline, on a computer screen, and pulling it intoa desired shape by means of control points that affect the curvature ofthe line, the behaviour of the line being defined by a NURB algorithm.

[0061] For example, in FIG. 2, the path P shown on a computer screen 50has end points 21 and 25, and three intermediate points 22, 23 and 24through which the path P must pass. Control points 31 to 36 act on theline 15 of the path P to pull it into the desired shape. Since the line15 is defined (programmed) to have the properties of a NURB, it respondsto movements of the control points 31 to 36 to behave accordingly with,for example, continuity in both its first and second derivatives, asmentioned above.

[0062] The control points 31 to 36 may conveniently be moved on-screenby a “click-and-drag” mouse movement, until the path P passes throughall of the desired points 21 to 25. The control points 31 to 36 may bemoved in alternative ways. An operator may have the facility to add andsubtract control points as desired, and/or the option to modify the“weighting” of individual control points or all of the controlpoints—that is, the degree of effect that movement of one or morecontrol point will have on the shape of the line 15.

[0063]FIG. 2 also shows two obstacles 41 and 42 that the path P has toavoid. The control points 31 to 36 are adjusted to ensure that theobstacles are indeed avoided.

[0064] Thus, an operator can readily design a new path P, with little orno computer programming requirement. A floor plan (or vertical plan),say, is displayed on the computer screen 50 by a CAD (Computer AidedDesign) program, and the line 15 with control points 31 to 36 (or asdesired) is superimposed on the floor plan. The control points 31 to 36are then manipulated to shape the line 15 to adopt a desired shape ofcurve, between defined end points, passing through defined intermediatepoints, and/or avoiding defined obstacles.

[0065] As an alternative to manipulating the control points 31 to 36, anoperator can specify the end and intermediate points 21 to 25, togetherwith any obstacles such as 41 and 42, and the NURB curve shape of theline 15 may be interpolated from those given points, using a NURBalgorithm.

[0066] Although above examples of embodiments of the invention are givenin two dimensions, it may be appreciated that the principles may readilybe adapted to three dimensions. For example, the FIG. 1 embodiment maybe adapted by adding tracks orthogonal to those shown.

[0067] Although the curve shape of the line 15 may be convenientlydescribed in NURB form, which provides a very compact mathematical wayof describing the curve shape, it may alternatively be described usingother polynomial forms.

[0068] The operator can also define points of zero velocity and dwelltime at any end or intermediate points, from which a polynomial functionof motion may be derived with minimum transit time (maximum averagevelocity), but with the desirable attributes of continuous curves in itsfirst and second (and optionally third) derivates.

[0069] The advantage of using such a technique is that the motion can beboth very smooth and very fast between two points (start and end). It isalso self-optimising in between the end points, using NURB controlpoints simply to guide the path over any obstacle that lies between.

[0070] Thus, a user may specify the shape of the path P in two or threedimensions using either geometric ‘control points’ that allow the userto interactively visually shape the curve while maintaining thecontinuity described above, or for the curve to interpolate a set ofuser defined 2D or 3D points.

[0071] Using a graphical display, it is easy for the operator to definea motion that avoids obstacles. The motion may be both fast and smoothwithout the operator having to specify how this is done.

[0072] In this specification, the verb “comprise” has its normaldictionary meaning, to denote non-exclusive inclusion. That is, use ofthe word “comprise” (or any of its derivatives) to include one featureor more, does not exclude the possibility of also including furtherfeatures.

[0073] The reader's attention is directed to all and any prioritydocuments identified in connection with this application and to all andany papers and documents which are filed concurrently with or previousto this specification in connection with this application and which areopen to public inspection with this specification, and the contents ofall such papers and documents are incorporated herein by reference.

[0074] All of the features disclosed in this specification (includingany accompanying claims, abstract and drawings), and/or all of the stepsof any method or process so disclosed, may be combined in anycombination, except combinations where at least some of such featuresand/or steps are mutually exclusive.

[0075] Each feature disclosed in this specification (including anyaccompanying claims, abstract and drawings), may be replaced byalternative features serving the same, equivalent or similar purpose,unless expressly stated otherwise. Thus, unless expressly statedotherwise, each feature disclosed is one example only of a genericseries of equivalent or similar features.

[0076] The invention is not restricted to the details of the foregoingembodiment(s). The invention extends to any novel one, or any novelcombination, of the features disclosed in this specification (includingany accompanying claims, abstract and drawings), or to any novel one, orany novel combination, of the steps of any method or process sodisclosed.

1. A robotic device comprising: a. a first track extending between first and second end points; b. a second track, non-parallel to the first track, extending between third and fourth end points; c. a first support mounted for movement along said first track between said first and second end points; d. a second support mounted for movement along said second track between said third and fourth end points; e. drive means for driving said first and second supports along their respective tracks between their respective end points; and f. a robot arm pivotally mounted on said first support at a first location on said arm, and pivotally mounted on said second support at a second location on said arm, spaced from said first location, such that said arm can slide with respect to one of said first and second supports, and movement of said supports along said tracks causes movement of said robot arm:
 2. A robotic device according to claim 1, wherein said tracks lie in a common plane, and said arm is arranged to move in said common plane or a plane parallel to said common plane.
 3. A robotic device according to claim 1 or 2, wherein at least one of said tracks is rectilinear.
 4. A robotic device according to claim 3, wherein both of said tracks are rectilinear.
 5. A robotic device according to claim 4, wherein said tracks are mutually orthogonal.
 6. A robotic device according to any of the preceding claims, wherein said drive means comprises a first drive means for driving said first support and a second drive means, separate from the first drive means, for driving said second support
 7. A robotic device according to any of the preceding claims, wherein the or each said drive means comprises a prime mover mounted on a frame of the device and connected to the or each respective support by a drive transmission means.
 8. A robotic device according to any of the preceding claims, wherein the robot arm is rectilinear.
 9. A robotic device according to any of the preceding claims, wherein said first location is at a first end of the robot arm and said second location is intermediate the ends of the robot arm.
 10. A robotic device according to claim 9, wherein said arm can slide with respect to only the second of said first and second supports.
 11. A robotic device according to any of the preceding claims, further comprising gripping means at a third location on said robot arm.
 12. A robotic device according to claim 11, wherein said third location is at a free end of the robot arm.
 13. A robotic device according to any of the preceding claims, further comprising control means for controlling said drive means.
 14. A robotic device according to claim 13, wherein said control means is programmable, to control said drive means to cause said robot arm to follow a predetermined path.
 15. A robotic device according to claim 14, wherein said control means is programmed to control said drive means to cause said robot arm to follow a predetermined path composed of a series of straight lines.
 16. A robotic device according to claim 14, wherein said control means is programmed to control said drive means to cause said robot arm to follow a predetermined path composed of a series of straight lines and circular arcs.
 17. A robotic device according to claim 14, wherein said control means is programmed to control said drive means to cause said robot arm to follow a predetermined path comprising a curve defined by a function of spatial co-ordinates that is continuous in both its first and second derivatives.
 18. A robotic device according to claim 17, wherein said function is continuous in its third derivative.
 19. A robotic device according to claim 17 or 18, wherein said curve comprises a NURB (non-uniform rational B-spline) curve.
 20. A robotic device according to any of claims 14 to 19, wherein said control means is arranged to control said drive means such that the time-distance function of motion along said path comprises a polynomial function having a first derivative (velocity) continuous curve.
 21. A robotic device according to any of claims 14 to 20, wherein said control means is arranged to control said drive means such that the time-distance function of motion along said path comprises a polynomial function having a second derivative (acceleration) continuous curve.
 22. A robotic device according to any of claims 14 to 21, wherein said control means is arranged to control said drive means such that the time-distance function of motion along said path comprises a polynomial function having a third derivative (jerk) continuous curve.
 23. A robotic device comprising a robot arm arranged to move along a predetermined path comprising a curve defined by a function of spatial coordinates that is continuous in both its first and second derivatives.
 24. A robotic device according to claim 23, wherein said function is continuous in its third derivative.
 25. A robotic device according to claim 23 or 24, wherein said curve comprises a NURB (non-uniform rational B-spline) curve.
 26. A robotic device according to any of claims 23 to 25, wherein said control means is arranged to control said drive means such that the time-distance function of motion along said path comprises a polynomial function having a first derivative (velocity) continuous curve.
 27. A robotic device according to any of claims 23 to 26, wherein said control means is arranged to control said drive means such that the time-distance function of motion along said path comprises a polynomial function having a second derivative (acceleration) continuous curve.
 28. A robotic device according to any of claims 23 to 27, wherein said control means is arranged to control said drive means such that the time-distance function of motion along said path comprises a polynomial function having a third derivative (jerk) continuous curve.
 29. A robotic device substantially as hereinbefore described with reference to the accompanying drawing.
 30. A method of constructing a robotic device having a robot arm, the method comprising the steps of: a. calculating a path along which the robot arm is to travel, which path comprises a curve defined by a function of spatial co-ordinates that is continuous in both its first and second derivatives; and b. constraining the robot arm to travel along said path.
 31. A method according to claim 30, including the steps of displaying a curve on a screen, and modifying the shape of the curve to define said path.
 32. A method according to claim 31, wherein said modifying step is effected by dragging control points that are spaced from said curve and the positions of which affect the shape of said curve.
 33. A method according to claim 30, including the steps of inputting co-ordinates of predetermined points on said path and interpolating said curve from said points.
 34. A method according to claim 31, 32 or 33, including the step of also displaying on the screen a plan of an area or volume in which said path is to be located, and upon which plan said path is superimposed.
 35. A method according to any of claims 30 to 34, wherein said robotic device is in accordance with any of claims 1 to
 29. 36. A method of constructing a robotic device having a robot arm, the method being substantially as hereinbefore described with reference to the accompanying drawing. 